// asio使用例子

#include <iostream>
#include <boost/asio.hpp>

using namespace boost::asio;
using ip::tcp;

int main()
{
    try
    {
        // 创建 IO 上下文
        io_context io;

        // 创建接受器，监听 9999 端口
        tcp::acceptor acceptor(io, tcp::endpoint(tcp::v4(), 9999));

        std::cout << "服务器启动，监听端口 9999..." << std::endl;

        while (true)
        {
            // 创建 socket
            tcp::socket socket(io);

            // 等待连接
            acceptor.accept(socket);

            // 收到连接后发送消息
            std::string message = "你好，ASIO 工作正常！\n";
            boost::system::error_code error;
            boost::asio::write(socket, boost::asio::buffer(message), error);
        }
    }
    catch (std::exception &e)
    {
        std::cerr << "发生错误: " << e.what() << std::endl;
    }

    return 0;
}
